package cn.getech.data.development.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * @Author luoxi
 * @create 2020/11/16 14:31
 */
@Data
@TableName("data_sync_info")
public class DataSyncInfo extends BaseEntity implements Serializable {
    private static final long serialVersionUID = -4076886332280425875L;
    /**
     * 任务名称
     */
    @ApiModelProperty(value = "任务名称",name="taskName")
    private String taskName;

    @ApiModelProperty(value = "数据来源",name="dataSourceType")
    private String dataSourceType;

    @ApiModelProperty(value = "数据源",name="dataSource")
    private String dataSource;

    private Integer sourceId;

    @ApiModelProperty(value = "数据库",name="dataLibrary")
    private String dataLibrary;

    @ApiModelProperty(value = "表名映射",name="tableMapping")
    private String tableMapping;

    @ApiModelProperty(value = "数据仓库库",name="toHiveDatabase")
    private String toHiveDatabase;

    @ApiModelProperty(value = "写入规则",name="writeRule")
    private String writeRule;

    @ApiModelProperty(value = "存储格式",name="storageFormat")
    private String storageFormat;

    @ApiModelProperty(value = "同步方式 1:仅同步表结构 2:同步表结构和表数据",name="syncMethod")
    private Integer syncMethod;

    @ApiModelProperty(value = "1:若目标表存在，则不进行整库同步 2: 若目标表不存在，则进行整库同步",name="tableExistRule")
    private Integer tableExistRule;

    @ApiModelProperty(value = "写入流量控制 1:不限速 2:限速",name="writeFlowControl")
    private Integer writeFlowControl;

    @ApiModelProperty(value = "限速多少条每秒",name="writeFlowControlNum")
    private Integer writeFlowControlNum;

    @ApiModelProperty(value = "并发限制",name="concurrencyLimit")
    private Integer concurrencyLimit;

    @ApiModelProperty(value = "任务状态 0:未开始 1:进行中 2:成功 3:失败",name="taskStatus")
    private Integer taskStatus;

    @ApiModelProperty(value = "0 未删除 1:删除",name="deleted")
    @TableLogic
    private Integer deleted;

    @ApiModelProperty(value = "内存大小",name="memorySize")
    private Integer memorySize;

    @ApiModelProperty(value = "调度队列",name="dispatchQueue")
    private String dispatchQueue;

    @TableField(value = "create_name")
    private String createName;

    @TableField(value = "update_name")
    private String updateName;

    @ApiModelProperty(value = "taskSchedule",name = "taskSchedule")
    private Integer taskSchedule;
    private Integer tenantId;
}
